Wireless networks allow computing devices to share information and resources via wireless communications. Examples of computing devices include laptop or desktop computers, personal digital assistants (PDAs), mobile phones, data terminals, data collection devices, and other portable and non-portable computing devices. One broad family of standards developed to facilitate wireless networking is IEEE 802.11. The original IEEE 802.11 standard provides data transfer rates of 1–2 Megabits per second (Mbps) in a 2.4–2.483 Gigahertz (GHz) frequency band (hereafter the 2.4 GHz band). However, a number of extensions to the original IEEE 802.11 standard have been developed in an effort to increase data transfer rates.
The IEEE 802.11b standard (sometimes referred to as 802.11 wireless fidelity or 802.11 Wi-Fi) is an extension of the IEEE 802.11 standard that provides 11 Mbps transmission (with a fallback to 5.5, 2.0 and 1.0 Mbps) in the 2.4 GHz band. The IEEE 802.11b standard utilizes complimentary code keying (CCK) techniques as an encoding scheme to achieve multi-channel operation in the 2.4 GHz band. Generally, CCK is one type of orthogonal phase modulation scheme that uses complex symbol structures to represent multi-bit codewords. For example, a CCK waveform can be synthesized using the following equation set:{ej(φ1+φ2+φ3+φ4), ej(φ1+φ3+φ4), ej(φ1+φ2+φ4), −ej(φ1+φ4), ej(φ1+φ2+φ3), ej(φ1+φ3), −ej(φ1+φ2), ej(φ1)},where phase angles φ1, φ2, φ3 and φ4 can have values in the set of angles {0, π/2, π, 3π/2}. The phase angles φ1, φ2, φ3 and φ4 can each be represented with two bits because there are four possible values that each phase angle can take. Thus, a sequence of 8-data bits uniquely determine the values φ1, φ2, φ3 and φ4 that are used in the transmitted code-word, with two bits defining the phase angle corresponding to each φ. Given a sequence of 8-data bits, the CCK waveform can be synthesized to convey the encoded data by phase-shift modulation of a signal according to the resulting φ1, φ2, φ3 and φ4.
Upon receiving the modulated waveform (a vector similar to the transmitted vector above, but corrupted with the channel noise), a demodulator determines φ1, φ2, φ3 and φ4 to reconstruct the transmitted data bits. More specifically, the demodulator typically cross-correlates the received vector with all possible transmitted code words and selects the code word that yields the highest correlation value to identify the most probable transmitted code word. In particular, a vector representing the received CCK codeword can be cross-correlated with complex conjugates of the possible CCK codewords to generate a set of correlation values. In other words, for a received vector, a respective correlation value can be calculated for each possible CCK code word. Thus, in the case of the 8-bit code word, the demodulator may calculate 256 correlation values.
In order to reduce errors due to interference from channel noise, the CCK encoding scheme introduces data redundancy. In particular, the defined elements of CCK codeword are interdependent in that the values of some of the elements are dependent on the values of other elements.